Memory.h

					
#ifndef _MEMORY_H_
#define _MEMORY_H_

#define OFFSET_MEM_ADDR 0 // Steht immer im ersten Zelle
#define EEPROM_WRITE_MAX 100000 // Pruefen nach dem Datenblatt des EEPROMs

#define MEM_IC_ADDR_WRITE 0b10101010/********* Address from datascheet ********/
#define MEM_IC_ADDR_READ 0b10101011 /********* Address from datascheet ********/
#define MEM_BLOCK_AMOUNT 8
#define MEM_BLOCK_SIZE 256

struct Time_struct
{
  uint8_t offset;
  uint8_t hours;
  uint8_t minutes;
  uint32_t memorycell_write_counter;  // needed for searching of the last written to EEPROM value. Maximally can be 2^32-1 = 4294967296. Which is enough for 8171 years of writing
};

typedef struct Time_struct my_time_t;

//void eeWrite(uint8_t chunk);
//void eeRead(uint8_t chunk);
void Show_Memory(uint32_t startAddr, uint32_t nBytes);
void EEPROM_init(my_time_t* Time_str);
void EEPROM_save(my_time_t* Time_str);

#endif /* _MEMORY_H_ */